From: Julian Sparber Date: Mon, 19 Feb 2024 08:40:43 +0000 (+0100) Subject: status/network: Use ShellApp.activate_action() to launch settings panel X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~281^2~1^2~112 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d6779f34dac6c80e178a308314fe59884a65f383;p=gnome-shell.git status/network: Use ShellApp.activate_action() to launch settings panel `ShellApp` gained the ability to activated actions and sets the correct platform data, therefore drop the current implementation in favor for it. Part-of: --- diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 4379c63cd..a263b41c7 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -7,6 +7,7 @@ import GLib from 'gi://GLib'; import GObject from 'gi://GObject'; import NM from 'gi://NM'; import Polkit from 'gi://Polkit'; +import Shell from 'gi://Shell'; import St from 'gi://St'; import * as Main from '../main.js'; @@ -65,25 +66,13 @@ function ssidToLabel(ssid) { function launchSettingsPanel(panel, ...args) { const param = new GLib.Variant('(sav)', [panel, args.map(s => new GLib.Variant('s', s))]); - const platformData = { - 'desktop-startup-id': new GLib.Variant('s', - `_TIME${global.get_current_time()}`), - }; - try { - Gio.DBus.session.call( - 'org.gnome.Settings', - '/org/gnome/Settings', - 'org.freedesktop.Application', - 'ActivateAction', - new GLib.Variant('(sava{sv})', - ['launch-panel', [param], platformData]), - null, - Gio.DBusCallFlags.NONE, - -1, - null); - } catch (e) { - log(`Failed to launch Settings panel: ${e.message}`); - } + + const app = Shell.AppSystem.get_default() + .lookup_app('org.gnome.Settings.desktop'); + + app.activate_action('launch-panel', param, 0, -1, null).catch(error => { + log(`Failed to launch Settings panel: ${error.message}`); + }); } class ItemSorter {